home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 138 / 138.xpi / chrome / stumbleupon.jar / content / searchDialog.js < prev    next >
Text File  |  2009-05-22  |  2KB  |  111 lines

  1. var detail = window.arguments[0];
  2. var field_was_focused = false;
  3. var old_tags_value = "";
  4.  
  5. function init()
  6. {
  7.     var field = document.getElementById("field");
  8.     field.autocompleteDatasource =
  9.                 {
  10.                     getResults : function ()
  11.                     {
  12.                         var field = document.getElementById("field");
  13.                         return opener.su_get_autocomplete_results(
  14.                                     "query",
  15.                                     field.value,
  16.                                     field.maxRows,
  17.                                     new Array());
  18.                     }
  19.                 }
  20.     field.value = detail.query_default;
  21. }
  22.  
  23. function doOK()
  24. {
  25.     var query = document.getElementById("field").value;
  26.     if (query == null)
  27.         return true;
  28.  
  29. /*
  30.     var error = opener.su_validate_tagstring(tags);
  31.     if (error != null)
  32.     {
  33.         alert(error);
  34.         document.getElementById("field").focus();
  35.         return false;
  36.     }
  37. */
  38.     
  39.     if (query != '')
  40.     {
  41.         detail.query = query;
  42.         opener.document.getElementById("su_searchbox").value = query;
  43.         opener.setTimeout(
  44.                     function(parent_window, detail){
  45.                         parent_window.su_search_dialog_accept(detail);},
  46.                     0,
  47.                     opener,
  48.                     detail);
  49.     }
  50.  
  51.     return true;
  52. }
  53.  
  54. function field_click_kludge(eventId)
  55. {
  56.     // This handles value selection in the case where the user is
  57.     // clicking back and forth between tags and another field.  Without
  58.     // this kludge, the text is selected only every second time.  (ref: 
  59.     // Firefox 1.5, XP)  This may not be necessary on this window since 
  60.     // the dialog has only one field, but it's here in case we need it 
  61.     // later. -- JW
  62.  
  63.     switch (eventId)
  64.     {
  65.         case "click":
  66.             var tags = document.getElementById('field');
  67.             var selected = (tags.value.length != 0)
  68.                         && ((tags.selectionEnd - tags.selectionStart) == tags.value.length);
  69.  
  70.             if ((! field_was_focused) && (! selected))
  71.             {
  72.                 tags.select();
  73.             }
  74.             field_was_focused = true;
  75.         break;
  76.         case "blur":
  77.             field_was_focused = false;
  78.         break;
  79.     }
  80.  
  81.     return true;
  82. }
  83.  
  84. function handle_field_focus(evt)
  85. {
  86.     var tags = document.getElementById('field');
  87.  
  88.     if (tags.value != "")
  89.     {
  90.         tags.select();
  91.     }
  92. }
  93.  
  94. function handle_field_keyup(evt)
  95. {
  96.     old_tags_value = document.getElementById("field").value;
  97.     return true;
  98. }
  99.  
  100. function handle_field_textentered()
  101. {
  102.     document.getElementById("stumble_search_dialog").acceptDialog();
  103. }
  104.  
  105. function handle_field_textreverted()
  106. {
  107.     document.getElementById("field").value = old_tags_value;
  108.     document.getElementById("field").select();
  109. }
  110.  
  111.